Information processing apparatus and power supply control method

ABSTRACT

In standby mode, memory contents are saved to a hard disk. After AC power has been removed by disconnecting the AC plug, when the AC power is restored the data saved on the hard disk is automatically restored into memory to set the power-saving mode back to the standby mode. When the power is turned on next, quick resumption from standby mode can be accomplished.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus anda power supply control method. More particularly, it relates to aninformation processing apparatus and a power supply control method inwhich provisions are made to reduce the time required to resume from apower-saving mode.

2. Description of the Related Art

In recent years, with improvements in CPU performance, coupled withincreased hard disk capacity, PC/TV combinations which allow users toenjoy television programs and video recordings on personal computers(PCs) have been finding widespread use in homes. As PC/TV combinationshave become widespread, the slow startup time of PCs, compared to thestartup time of TVs, has become important. To improve the startup timeof PCs and achieve power saving at the same time, power managementstandards (such as ACPI: Advanced Configuration and Power Interface)have been defined. ACPI S3 defines a “standby” mode, that is, a“suspend-to-RAM” mode. In standby mode when power is turned off,graphics functions and devices including hard disks are shut down, butpower is supplied to the memory so that any work data is preserved. Asthe work data is preserved in the memory, it takes only a few seconds toresume from standby mode. Further, work can be resumed where it was leftoff.

ACPI S4 defines a “hibernation” mode, that is, a “suspend-to-disk” mode.In hibernation mode, after saving memory contents to a hard disk, alldevices including the memory are shut down. When power is turned onagain, the contents saved on the hard disk are written into the memoryto resume. Hibernation mode can save more power than standby mode, butwhen the resume speed is compared, between hibernation and standby, itis much quicker to resume from the standby state in which the memorycontents are preserved.

Here, when a comparison is made between resumption from standby mode andresumption from hibernation mode, the execution of the BIOS (BasicInput/Output System) takes about 0.5 second after power on from standbymode and 7 to 10 seconds from hibernation. After that, it takes 2 to 5seconds to load the OS (Operating System) in the case of standby modeand 13 to 20 seconds in the case of hibernation mode. That is, it takesabout 5 seconds to complete the loading of the OS after power on fromstandby mode and about 20 to 30 seconds after power on from hibernation.ACPI S5 defines a normal power-off mode, and it takes much longer toresume, that is, about 60 seconds, because a reboot is needed.

A personal computer equipped with a television function is usually usedby connecting it to a commercial power line in a home; accordingly,unlike notebook computers, there is no concern of losing memory contentsdue to battery exhaustion. It is therefore desirable that the computerbe placed in standby mode when shutting it off, if it is desired toquickly restart when power is turned on next. However, the problem isthat, if the power supply is cut off during standby mode because of thedisconnection of the AC plug or the occurrence of a power outage, thedata stored in the memory will be lost. In particular, when the personalcomputer is used in the same way as a television set in a home, thereare cases where the AC plug is disconnected upon power off for thepurpose of power saving. If this happens when the computer is in astandby state, the work data saved in the memory will be lost.

A similar situation can happen in the case of a battery-operatedpersonal computer; that is, if the battery runs down during standbymode, the data saved in the memory will be lost. Therefore, when safetyis considered, using only the standby mode for power saving involves aproblem. On the other hand, hibernation mode has the problem of slowerstartup time.

Traditionally, it has been known that a notebook computer or the likeequipped with a resume function to resume from hibernation mode has theproblem that it takes time to resume from hibernation mode. To solvethis problem, there has been proposed a computer system in which when ACpower supply is available, memory contents are saved on a hard disk uponturning off of the power switch, but power is continued to be suppliedto the memory and, when the power switch is turned on next, the systemis restored to the operating state from the hibernation state (JapaneseUnexamined Patent Publication No. 10-97353). In the proposed system, astandby function is incorporated in a personal computer having thefunction of resuming from hibernation, and the system quickly resumesfrom standby mode when the power supply is on, but resumes fromhibernation mode when the power supply is interrupted.

SUMMARY OF THE INVENTION

An object of the present invention is to provide an informationprocessing apparatus that preserves data safely and that quickly resumeswhen power is turned on.

According to a first aspect of the present invention, there is providedan information processing apparatus which preserves programs and dataduring a power-off state by supplying power to a volatile storagedevice, comprising: a power detecting unit which detects an input ofpower; and a volatile storage restoring section which, when an input ofpower is detected by the power detecting unit, writes the programs anddata, stored in a nonvolatile storage device, into the volatile storagedevice.

The information processing apparatus may further comprise a volatilestorage recording unit which saves the programs and data stored in thevolatile storage device to the nonvolatile storage device when making atransition to the power-off state.

The programs are an operating system and application programs and, whenmaking the transition to the power-off state, the operating system canissue an instruction to all the application programs in execution tosave work data.

The transition to the power-off state can be initiated by auser-performed standby operation.

The nonvolatile storage device may be a hard disk.

According to a second aspect of the present invention, there is provideda program for a computer which preserves execution programs and dataduring a power-off state by supplying power to a volatile storagedevice, wherein the program causes the computer to execute a volatilestorage restoring procedure in which the execution programs and datastored in a nonvolatile storage device are written into the volatilestorage device when an input of power is detected by a power detectingsection.

Provisions may also be made to cause the computer to execute a volatilestorage recording procedure in which the execution programs and datastored in the volatile storage device are saved to the nonvolatilestorage device when making a transition to the power-off state.

The execution programs are an operating system for the computer andapplication programs executed on the operating system, and the programfor the computer is stored in a BIOS and executed by the computeroutside the management by the operating system.

According to a third aspect of the present invention, there is provideda computer readable recording medium having a program recorded thereonfor a computer which preserves execution programs and data during apower-off state by supplying power to a volatile storage device, whereinthe program causes the computer to execute a volatile storage restoringprocedure in which the execution programs and data stored in anonvolatile storage device are written into the volatile storage devicewhen an input of power is detected by a power detecting section.

According to a fourth aspect of the present invention, there is provideda power supply control method which preserves programs and data during apower-off state by supplying power to a volatile storage device,comprising: detecting an input of power; and writing the programs anddata, stored in a nonvolatile storage device, into the volatile storagedevice when an input of power is detected.

As described above, according to the present invention, as the programsand data stored in the nonvolatile storage device is written into thevolatile storage device when an input of power is detected, the timerequired to resume when power is turned on next can be reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram showing an information processing apparatus whichimplements one embodiment of the present invention.

FIG. 2 is a diagram schematically showing the configuration of theinformation processing apparatus implementing the one embodiment of thepresent invention.

FIG. 3 is a diagram showing an operation flow according to oneembodiment of the present invention.

FIG. 4 is a diagram showing an operation flow according to anotherembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

One embodiment of the present invention will be described below withreference to the drawings. FIG. 1 shows one example of an informationprocessing apparatus for carrying out the present invention. A computer100 shown in FIG. 1 is a personal computer combined with a televisionand is used, for example, in a home, and its main unit 101 includes aliquid crystal display 105 and a speaker 106 on each side thereof. Akeyboard 102 and a mouse 103 are attached as input devices. The keyboard102 and the mouse 103 are each connected to the main unit 101 via awireless link. A remote controller 104 is also provided. The remotecontroller 104 can be used to turn power on and off to the computer,change TV channels, start up computer applications, and so on. The mainunit 101 contains a large-capacity hard disk, and a DVD (DigitalVersatile Disc) drive is mounted in an openable fashion behind the frontpanel of the main unit. As the personal computer 100 has a built-intelevision function, received programs can be recorded on the hard disk,and the programs recorded on the hard disk can be recorded on DVDs.Further, any program received using the television function can berecorded directly on a DVD. Other than the keyboard 102 and the mouse103, such input devices as a pen, a voice input device, etc. can beused. A printer and other output devices can be also attached. Further,other storage devices such as magnetic, optical, or semiconductordevices can be attached for storage of desired information. The computer100 further incorporates a communication function so that it can connectto a LAN, the Internet, etc. via a wired or wireless means.

When the user who is performing work or watching TV on the computerdesires to turn off the computer, the user has power off buttonsdisplayed in pop-up fashion on the liquid crystal display, and selectsthe desired power-off mode from among standby mode (S3), hibernationmode (S4), normal power-off mode (S5), etc. The present inventionconcerns the control performed when shutting off the personal computer.

FIG. 2 schematically shows the configuration of the informationprocessing apparatus implementing one embodiment of the presentinvention.

A CPU 201 is a central processing unit which controls the entireoperation of the computer 100.

A memory 202 is a storage device for temporarily storing programs thatthe CPU 201 executes and data that refers to the CPU 201. The memory 202is a volatile memory which retains the recorded contents as long aspower is supplied to the memory, but the recorded contents are lost whenpower to the memory is removed.

A power supply controller 203 controls a power control unit whichsupplies power to the computer 100 as a whole. Supply of AC power to thepower supply unit is detected.

A chip set 204 collectively controls the input/output control operationsof the CPU 201.

A bus 205 connects the chip set 204 with various input/output devices.

An operating system 301 is the basic program that is stored on a harddisk and is loaded into the memory 202 for execution by the CPU 201. Thepresent embodiment uses Windows XP (trade mark).

A BIOS 302 is a set of control programs stored in a nonvolatile memorysuch as a flash ROM and executed by the CPU 201.

A hard disk 401 is a nonvolatile storage device which stores theoperating system 301 and application programs to be executed on theoperating system 301.

An input device 402 is a device used to input data or commands into thecomputer 100, and includes the keyboard 102, the mouse 103, and theremote controller 104.

An output device 403 is a device to which data is output from thecomputer 100, and includes the liquid crystal display 105 and thespeakers 106.

FIG. 3 is an operation flow according to a first embodiment of thepresent invention, illustrating an example in which the presentinvention is applied to standby power-off mode. To turn off power toenter the standby mode, in step S11, a standby switch displayed on thescreen is pressed. That is, ACPI standby mode (S3) is selected.

Here, though not described in the illustrated flow, provisions may bemade to cause the operating system 301 to issue an instruction to eachapplication program in execution to save work data. In response to theinstruction, the application program can determine whether to save ornot save the current work data. Standby power off has the feature thatthe work data is preserved as-is so that the work can be resumed whenpower is turned on next, but in view of the serious effect that couldarise when the contents of the memory 202 were lost due to powerfailure, it is desirable to close all application programs in executionafter saving their work data. This also serves to avoid possible troubleof the operation system 301 due to a memory leak. In particular, in thecase of the computer 100 combined with a television set, since thecomputer tends to be handled in the same way as an ordinary homeelectric appliance, it is recommended that extra precautions be takenagainst losing or destroying data. In an environment where a televisionviewing program, a DVD playback program, and other application programscan be directly started up by using the remote controller 104, noparticular inconvenience will be caused if these application programsare closed before going into the standby mode; rather, such precautionsare extremely useful when reliability is considered.

In step S12, the operating system 301 of the computer 100 sets standbymode in the chip set 204. In step S13, when the operating system 301effects the transition to the standby mode, the BIOS 302 traps an I/Oport or a memory address. In the prior art, in the ACPI environment, theoperating system 301 controlled standby mode, hibernation mode, etc. bydirectly controlling the hardware such as the power supply controller203. In the APM (Advanced Power Management) environment, the operatingsystem 301 or a power management driver sets the power state and callsthe BIOS 302. Accordingly, in the ACPI/APM environment, a transition wassimply made to the power state determined by the operating system 301,and resume time and data safety were determined by the depth of thepower state thus determined. In the present invention, on the otherhand, as the processing is performed by the BIOS 302 outside themanagement of the operating system 301, the process is free fromconstraints imposed by the operating system 301.

Next, in step S14, the contents of the memory 202 is saved to the harddisk 401 directly by the BIOS 302, or by using a utility program. At thesame time, a disk store flag is set to 1. The disk store flag is storedin a nonvolatile memory, and is therefore retained after power is turnedoff. After saving the contents of the memory 202 to the hard disk 401, atransition is made in step S15 to the standby mode. That is, power issupplied only to the memory 202 which thus preserves its stored data.

It is detected if a startup event is issued when in the standby mode instep S16. The startup event occurs when the user presses the power onbutton or when power is turned on by a timer or, if the personalcomputer is connected to a network, when a wakeup event is received overthe network. In step S17, by detecting the startup event, prescribedprocessing is performed to resume from standby. When resuming fromstandby mode in step S17, the S3 flag is checked to verify that the flagis 1, and S3-POST is performed to diagnose the states of the CPU 201,memory 202, disk controller, graphics controller, serial/parallel ports,keyboard controller, and other devices on the motherboard. In this case,as the S3 flag is 1, if there are no errors, resumption from standby ismode done. The disk store flag is cleared. It takes about 5 seconds toresume from standby mode, which is about the same time taken to start upthe television; therefore, the user does not notice a problem.

While waiting for the occurrence of a startup event in step S16, therecan occur cases where the AC power supply is disconnected, for example,due to the disconnection of the AC power plug or the occurrence of apower outage. In step S18, the AC power supply is monitored for suchpower interruption. As long as an interruption in the AC power supply isnot detected, the process returns to step S16 to wait for the occurrenceof a startup event. If the AC power supply is interrupted bydisconnecting the AC power plug or due to a power outage, the memorycontents preserved by the supplied power are lost, and the S3 flagindicating the standby mode is cleared; in this case, the process waitsin step S20 until the AC power is restored. In the present embodiment,however, even in the standby mode, the memory contents are saved on thehard disk (step S14), and the memory contents stored on the hard diskare effectively used as will be described later.

In this condition, when the AC power is turned on again or restored, thepower supply controller 203 detects the restoration of the AC power(step S20), whereupon the process proceeds to step S21 where DC power issupplied to the computer 100, and it is checked whether the disk storeflag is 1 or not. When the disk store flag is 1, that is, when thememory contents are saved on the hard disk 401, the process proceeds tostep S22. In step S22, the data saved on the hard disk 401 is restoredinto the memory, and the disk store flag is cleared, after which theprocess returns to step S15. In step S15, a transition is made to thestandby mode, and the S3 flag is set back to 1. In this way, when the ACpower supply is interrupted, and the standby mode is cleared, if thepower supply is thereafter restored by reconnecting the AC plug orrecovering from the outage, the memory contents saved on the hard disk401 are automatically restored into the memory, and the mode is set backto the standby mode; as a result, when power is turned on next, quickresumption from standby can be accomplished. If, in step S21, the diskstore flag is not 1, for example, because saving to the hard disk 401has not been completed successfully, then the system resumes from the S5state, that is, the power-on state is restored by rebooting the system.

The reason that the disk store flag is cleared to 0 in step S22 is that,if the disk store flag were left at 1, the process would enter anendless loop, and might not be able to exit from the endless loop shouldthe data stored on the hard disk 401 be corrupted. In the presentembodiment, the transition to the standby mode is executed by the BIOS302 in a manner invisible to the user by shutting off the displayscreen. Accordingly, provisions must be made by considering such caseswhere the user disconnects the AC power plug during the transition tothe standby mode. However, since the disk store flag is cleared to 0 instep S22, if the AC power is thereafter turned off again, the systemwill resume from the S5 state (step S21). In view of this, it isdesirable to close all application programs in execution before movingto the standby mode.

The above description has been given by assuming the ACPI environment,but it will be recognized that the present invention can also be appliedto an information processing apparatus employing a power managementmechanism, such as APM, that calls a BIOS function, rather than theoperating system 301 directly controlling the hardware, when placing theinformation apparatus in a power-saving mode. In this case, when standbyis invoked by the operating system 301 or the power management driver,transition to the standby mode should be performed after saving memoryinformation to the hard disk 401 by the BIOS 302.

FIG. 4 is a flow illustrating the operation according to a secondembodiment of the present invention. This embodiment aims to speed upthe time required to resume from hibernation (S4) when the power wasturned off by selecting the hibernation mode. In the present embodiment,the BIOS 302 can be set to select the hibernation state between normalS4 or fast S4 which takes shorter time to resume than normal S4.

First, in step S31, as in the first embodiment, a hibernation stateselect button is displayed on the display screen when turning off thepower. It is assumed here that fast S4 is selected as the hibernationstate. When the hibernation state is selected, the operating system 301sets the hibernation state in the chip set 204 in step S32, and thememory contents are saved to the hard disk 401 in step S33.

When the operating system 301 completes the processing, in step S34, theBIOS 302 performs trapping. In step S35, it is checked whether a fast S4flag indicating the fast S4 state is 1 or not; if the fast S4 flag is 1,the process proceeds to step S36 where the S3 flag is set to 1 by theBIOS 204 to enter the standby mode. That is, after the power off iseffected, power continues to be supplied only to the memory 202 whichthus preserves its stored data. Here, as the processing performed by theoperating system 301 was for the hibernation state, the contents of thememory 202 are already saved to the hard disk 401 (see step S33).

Then, in step S37, the process waits for a startup event to be caused bythe user or the timer or to be received over the network; when theoccurrence of a startup event is detected, it is checked in step S38whether the S3 flag is 1 or not and, if the S3 flag is 1, S3-POST isexecuted in step S39 to resume from the S4 state. Here, as the computerhas been put in the standby mode in step S36, the information on theperipheral devices, that the BIOS checks, is stored in the memory. Theoperating system 301 can be recalled instantly, as the internalprocessing of the BIOS is in the standby state. As the S4 state is setin the chip set 204, the operating system 301 restored the data from thehard disk 401 into the memory 202 to accomplish resumption from thehibernation state. In this way, the computer can be restored to thepower-on state in a shorter time than when restoring the system statefrom hibernation. As previously noted, when resuming from hibernation,the execution of the BIOS 204 would take about 7 to 10 seconds, followedby the loading of the operating system 301 which would take 13 to 20seconds. In the present embodiment, the execution of the BIOS 204 takesonly 0.5 second, since its processing is started from the standby state.

If it is determined in step S38 that the S3 flag is not 1, the processproceeds to step S40 where the process is passed to the operating system301 and, after performing the necessary POST, processing is performed toresume from the normal hibernation state or the power-off state.

As the present embodiment assumes the use of hibernation, there is noconcern of losing data due to AC power disconnection, unlike the case ofstandby.

If the AC plug is disconnected or a power outage occurs before theoccurrence of a startup event (step S37), that is, if the AC powersupply is disconnected in step S41, power to the memory is cut off, sothat the data in the memory 202 is lost and the standby (S3) flag iscleared to 0 (step S42). From this AC power completely-off condition, ifthe AC power is restored, the AC power-on condition is detected in stepS42. When the restoration of the power is detected in step S43, theprocess returns to step S37 where the process waits for the occurrenceof a startup event. In this case, as the S3 flag is 0, fastes S4 isdisabled.

In the present embodiment also, it will be recognized that the inventioncan also be applied to an information processing apparatus employing apower management mechanism, such as APM, that calls a BIOS function,rather than the OS directly controlling the hardware, when placing theinformation apparatus in a power-saving mode. In this case, afterhibernation is invoked by the operating system 301 or the powermanagement driver, and the memory information is saved to the hard disk401, the transition to the standby mode should be effected by the BIOS302.

The first and second embodiments both speed up startup times whileensuring data safety, and thus enhance user convenience. When the userselects standby, control is preformed so that the computer resumes fromthe standby state whenever possible, and when the user selectshibernation, control is preformed so that the computer resumes from thehibernation state whenever possible.

Each of the embodiments has been described by taking as an example apersonal computer equipped with a television function, but it is obviousthat the present invention can also be applied to ordinary desktoppersonal computers; furthermore, the present invention can be applied tobattery-operated laptop, notebook, or palmtop computers.

While the above embodiments have been described as using a hard disk asthe nonvolatile storage device, other suitable nonvolatile storagedevice, for example, a flash memory, may be used as the storage device.

1. A power supply control method for an information processingapparatus, comprising: saving information stored in a volatile storageunit into a nonvolatile storage unit, when said information processingapparatus enters a hibernation state; stopping an operating systemworking in said information processing apparatus; setting firstinformation indicating that said information processing apparatus is ina standby state through a process executed independently of saidoperating system; setting said information processing apparatus in thestandby state after setting said first information through said processexecuted independently of said operating system, to hold information ona peripheral device in said volatile storage unit; checking whether ornot said first information exists when said information processingapparatus is activated; calling said operating system after checking theinformation on the peripheral device in said volatile storage unit andrestoring said information saved in the nonvolatile storage unit intothe volatile storage unit through said operating system, if said firstinformation exists; entering said information processing apparatus intoa turn-on state; and, entering said information processing apparatusfrom the hibernation state into the turn-on state, if said firstinformation does not exist.
 2. The power supply control method asclaimed in claim 1, wherein said nonvolatile storage unit is a harddisk.
 3. An information processing apparatus, comprising; a volatilestorage unit storing information to use for said processing; anonvolatile storage unit storing information; a power control unitcontrolling and detecting power supply into said information processingapparatus; and a processing unit processing information stored in saidvolatile storage unit; said processing unit further comprising, meansfor saving information stored in the volatile storage unit into thenonvolatile storage unit, when said information processing apparatusenters a hibernation state; means for setting first informationindicating that said information processing apparatus is in a standbystate through a process executed independently of an operating system,means for setting said information processing apparatus in the standbystate after setting said first information through said process executedindependently of said operating system, to hold information on aperipheral device in said volatile storage unit; means for checkingwhether or not said first information exists when said informationprocessing apparatus is activated, and further calling said operatingsystem after checking the information on the peripheral device in saidvolatile storage unit and restoring said information saved in thenonvolatile storage unit into the volatile storage unit through saidoperating system, if said first information exists; means for enteringsaid information processing apparatus into a turn-on state; and, meansfor entering said information processing apparatus from the hibernationstate into the turn-on state, if said first information does not exist.4. The information processing apparatus as claimed in claim 3, whereinsaid nonvolatile storage unit is a hard disk.